package com.blog.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.blog.dto.CommentDTO;
import com.blog.vo.CommentVO;

import java.util.List;

public interface CommentService {
    
    /**
     * 获取文章评论列表
     * @param articleId 文章ID
     * @return 评论列表
     */
    List<CommentVO> getCommentsByArticleId(Long articleId);
    
    /**
     * 添加评论
     * @param commentDTO 评论信息
     * @param userId 用户ID
     * @return 评论ID
     */
    Long addComment(CommentDTO commentDTO, Long userId);
    
    /**
     * 删除评论
     * @param commentId 评论ID
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean deleteComment(Long commentId, Long userId);
    
    /**
     * 获取所有评论（分页）
     * @param pageNum 页码
     * @param pageSize 每页条数
     * @param status 状态筛选
     * @return 评论分页
     */
    Page<CommentVO> getCommentList(Integer pageNum, Integer pageSize, Integer status);
    
    /**
     * 审核评论
     * @param commentId 评论ID
     * @param status 状态
     * @return 是否成功
     */
    boolean reviewComment(Long commentId, Integer status);
} 